package com.nine.service;

import java.util.List;



import com.nine.entity.Permission;
import com.nine.entity.UsersWithBLOBs;

public interface UsersService {
	/**
	 * 获取所有用户信息
	 * @return 用户信息实体集合
	 */
	List<UsersWithBLOBs> getAllUsers();
	
	/**
	 * 添加用户
	 * @param record	实体集合
	 * @return	影响行数
	 */
	public int insert(UsersWithBLOBs record);
	
	/**
	 * 多项删除用户
	 * @param ids	主键数组
	 * @return		影响行数
	 */
	public int delMoreUsers(Integer[] ids);
	
	/**
     * 通过主键查单条
     * @param id	主键id
     * @return	实体
     */
    UsersWithBLOBs selectByPrimaryKey(Integer id);
    
    /**
     * 通过主键有选择性的修改
     * @param record
     * @return
     */
    int updateByPrimaryKeySelective(UsersWithBLOBs record);

    /**
	 * 通过条件模糊查询来搜索用户
	 * @param username	用户名
	 * @return	实体集合
	 */
	public List<UsersWithBLOBs> getUsersByCondition(String username);
	
	/**
	 * 	登录通过用户名来获取密码
	 * @param username	用户名
	 * @return	密码
	 */
	public String getPwdByUname(String username);
	
	/**
	 * 根据用户名来获取其权限
	 * @param username 用户名
	 * @return	权限的集合
	 */
	public List<Permission> getPermissionByUname(String username);
	
	/**
	 * 根据用户名来获取本人信息
	 * @param username
	 * @return	实体
	 */
	public UsersWithBLOBs getInfoByUname(String username);
	
	/**
     * 根据用户名来修改登录密码
     * @param username	用户名
     * @param logcode	密码
     * @return
     */
    public int updateCurrentlogCodeByUsername(String username, String logcode);
	
}
